home *** CD-ROM | disk | FTP | other *** search
Wrap
f; The phrase template file reresents the phrase used by the simulation ; to crease stitched sounds. ; ; Phrases are expressed using a simple expression/functional language. ; ; The following variables exist in the phrase language: ; ; FORMATION_WITH_POSITION - This variable returns the formation name plus the position of the entity in the formation (i.e. Austin1) ; FORMATION - This variable returns the formation name (i.e. Austin) ; SPLASHED - This variable returns the subtype of the last entity to be destroyed. ; SPLASHING - This variable returns the subtype of the last entity to destroy. ; SUBTYPE - returns the subtype of the entity (bandit, flogger, etc ...) ; SHOOTING_ENTITY - This variable returns the entity shooting on this entity. ; LOCKED_ON_ENTITY - This variable returns the entity locked on by this entity, ; THIS - This variable returns this entity. ; CONTROLLED_AIRCRAFT - This variable returns the controlled entity aircraft. ; FIRE_TYPE - This variable returns the fire type being shot on this entity (JINK_GUNS!, BREAK_MISSILE! etc...). ; FOX_FIRE_TYPE - This function returns the missile count fired used by the fox fire message. ; TALLY_ENTITY - This is the entity that we just saw. ; RADAR_MISSILE_COUNT - This is the number of radar missiles available. ; HEAT_MISSILE_COUNT - This is the number of heat missiles available. ; FUEL_LOAD - This is the fuel load available (FULL, HALF, BINGO). ; TOWER_NAME - This is the name of the current controll tower. ; FLIGHT_CONTROLLER_NAME - This is the name of the current flight controller (AWACS). ; PLANE_FORMATION_POS - This is the position of the plane in the formation ("One" - "Four") ; WIND - This is the simulation wind speed and direction. ; TANKER_ENTITY - This is the tanker entity. ; UP_DOWN_BOOMER - This is the direction to which the boomer needs to move as a string. ; ENGAGED_TYPE - This is the type of object the entity is engaging ; ; The following functions exist in the phrase language: ; ; GET_ENTITY_FORMATION - This function accepts an entity name and returns its formation. ; GET_ENTITY_FORMATION_WITH_POS - This function returns the entities formation and its position within the formation. ; GET_ENTITY_HEADING - This function returns the heading of the given entity. ; GET_ENTITY_DISTANCE - This function returns the distance of the given entity. ; GET_ENTITY_HEIGHT - This function returns the height of the given entity. ; IF - This function evaluates the first expression, if it is true it returns all of the strings before the ELSE otherwize it returns the strings after the ELSE. This function may accept any length of parameters. ; DIRECTION_AS_HOURS - This function returns the direction to an entity as hours (i.e. 7OCLOCK etc...). ; ABS_DIRECTION_AS_DEGREES - The bearing from the first entity to the second in world degrees ; INVOKE_PHRASE - This function invokes a phrase, it may accept the phrase name and optionaly the entity name. By default the current entity is used as the entity under which the phrase is invoked. ; IS_TWO_SEATER - This boolean function returns true if the phrase is a two seater plane. ; IS - This boolean function evaluates varios phrases and returns the result. ; RANDOM_VALUE - This function accepts any number of variables and returns one of them randomly. ; STR_SUBSTRING - This function accepts a string followed by a begin position and a length variable and it returns the appropriate substring. ; STR_CONTAINS - This function returns true if the first given string contains the second given string. ; STR_CONCAT - This function joins togther all the given strings into one string. ; SPEAKER_IS - This function accepts either AWACS/TOWER or ENTITY as parameter and returns TRUE if the current speaker is one of them ; STR_LENGTH - This function returns the length of the given string. ; SET_VAR - This function accepts two parameters a variable name and a value. ; GET_VAR - This function accepts one parameter the variable name, and it returns its value previosly set with SET_VAR(). AIRBORNE_MESSAGE %FORMATION_WITH_POSITION AIRBORNE EJECT_MESSAGE %FORMATION_WITH_POSITION EJECTED ; this event is invoked when a simulation entity performs a radar lock ; it invokes the spike/contact reports appropriately. RADAR_LOCK_MESSAGE IF(CONTROLLED_FORMATION INVOKE_PHRASE(CONTACT_REPORT_IN_PHRASE) ELSE INVOKE_PHRASE(SPIKE_REPORT_IN_PHRASE, %THIS) ) ; The weapon fire message is invoked whenever a weapon is fired except for the ; case of guns WEAPON_FIRE_MESSAGE IF(TARGET_CONTROLLED_FORMATION INVOKE_PHRASE(FIRING_ON_ME_MESSAGE_IN_PHRASE %THIS) ELSE INVOKE_PHRASE(FOX_IN_PHRASE)) ; the reason gunfire is separated from other weapons is due to the high frequency of gun fire. GUN_FIRE_MESSAGE IF(TARGET_CONTROLLED_FORMATION INVOKE_PHRASE(FIRING_ON_ME_MESSAGE_IN_PHRASE %THIS)) ; The tally message is invoked when an enemy entity is of approximate site to a friendly entity ; for the first time. ;TALLY_MESSAGE IF(IS_TWO_SEATER(%THIS) INVOKE_PHRASE(TALLY_TWO_SEATER_IN_PHRASE) ELSE INVOKE_PHRASE(TALLY_FROM_OTHER_PLANE_IN_PHRASE)) TALLY_MESSAGE STR_CONCAT(EXCITED_ %FORMATION_WITH_POSITION) INVOKE_PHRASE(MIG_OR_BANDIT_IN_PHRASE %TALLY_ENTITY) STR_CONCAT(TALLY_EXCITED_ DIRECTION_AS_HOURS(%THIS %TALLY_ENTITY)) STR_CONCAT(TALLY_EXCITED_ RELATIVE_ALTITUDE(%THIS %TALLY_ENTITY)) ; the vector to aircraf message is sent with the entity to which the vector is aimed at ; as the %THIS entity. VECTOR_TO_AIRCRAFT_MESSAGE GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT) %FLIGHT_CONTROLLER_NAME STR_CONCAT(VECTOR ABS_DIRECTION_AS_DEGREES(%CONTROLLED_AIRCRAFT %THIS)) IF(IS(FRIENDLY) FRIENDLY ELSE IF(IS(ENEMY) BANDIT ELSE BOGIE)) STR_CONCAT(BEARING ABS_DIRECTION_AS_DEGREES(%CONTROLLED_AIRCRAFT %THIS)) GET_ENTITY_DISTANCE(%CONTROLLED_AIRCRAFT) GET_ENTITY_HEIGHT(%THIS) IF(IS(ENEMY) WEAPONS_FREE ELSE HOLD_FIRE) SHORT_VECTOR_TO_AIRCRAFT_MESSAGE GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT) STR_CONCAT(VECTOR ABS_DIRECTION_AS_DEGREES(%CONTROLLED_AIRCRAFT %THIS)) GET_ENTITY_DISTANCE(%CONTROLLED_AIRCRAFT) IF(IS(FRIENDLY) FRIENDLY ELSE IF(IS(ENEMY) BANDIT ELSE BOGIE)) IF(IS(CLOSING) CLOSING) ; this message is played when a plane was destroyed by someone. ; splashed one target SPLASH_MESSAGE IF(INVOKE_PHRASE(IS_CONTROLABLE_IN_PHRASE %SHOOTING_ENTITY) %FORMATION_WITH_POSITION STR_CONCAT(SPLASH_ %SPLASHED)) ; splashed multiple targets MULTIPLE_SPLASH_MESSAGE IF(INVOKE_PHRASE(IS_CONTROLABLE_IN_PHRASE %SHOOTING_ENTITY) %FORMATION_WITH_POSITION SPLASH_TARGETS ; a wingman was shot down WINGMAN_DOWN_MESSAGE STR_CONCAT(SPLASH_ %FORMATION_WITH_POSITION) STR_CONCAT(SPLASHED_BY_ %SPLASHING) ; a wingman crashed WINGMAN_CRASH_MESSAGE STR_CONCAT(SPLASH_ %FORMATION_WITH_POSITION) CRASHED ; passing waypoint message PASSING_WAYPOINT_MESSAGE STR_CONCAT(PLANE_ %FORMATION) STR_CONCAT(PASSING_WAYPOINT %WAYPOINT) IP_WAYPOINT_MESSAGE STR_CONCAT(%FORMATION _IP_INBOUND) ; ************************************************************* ; Takeoff sequence ; ************************************************************* ; taxi request TAXI_REQUEST_MESSAGE STR_CONCAT(PLANE_ %TOWER_NAME) STR_CONCAT(PLANE_ %FORMATION) TAXI ; clearance to taxi CLEAR_TO_TAXI_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(%TOWER_NAME _CLEAR_TO_TAXI) %WIND ; this is the tower controller informing the aircraft it may position itself on the runway CLEARANCE_TO_LINEUP_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) STR_CONCAT(%TOWER_NAME _CLEAR_TO_HOLD_RUNWAY) ; this is the tower controller telling the aircraft not position itself on the runway until it is clear HOLD_POSITION_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(%TOWER_NAME _HOLD_POSITION) ; this message informs the pilot he is clear to takeoff. CLEAR_TO_TAKEOF_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) CLEAR_FOR_TAKEOFF ; ************************************************************* ; Landing sequence ; ************************************************************* ; aircraft requesting to start landing sequence JOIN_REPORT_MESSAGE STR_CONCAT(PLANE_ %TOWER_NAME) STR_CONCAT(PLANE_ %FORMATION) TEN_FOR_OVERHEAD ; tower controller acknowledge CLEARANCE_TO_JOIN_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) INVOKE_PHRASE(LANDING_RUNWAY_IN_PHRASE) %WIND FIVE_MILE_INITIAL ; this is the landing request sent by the pilot LANDING_REQUEST_MESSAGE STR_CONCAT(PLANE_ %TOWER_NAME) STR_CONCAT(PLANE_ %FORMATION) BASE_GEAR_DOWN_AND_LOCKED ; if landing gear is not down , you can't land GEAR_IS_UP_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) LOWER_GEAR ; send a message authorizing the plane to land. CLEARANCE_TO_LAND_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) INVOKE_PHRASE(CLEAR_TO_LAND_RUNWAY_IN_PHRASE) ; runway occupied - circle the airfield CIRCLE_RUNWAY_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) RUNWAY_OCCUPIED ; after landing LANDING_REPORT_MESSAGE %FORMATION_WITH_POSITION LANDED ; after landing, taxi to hangar TAXI_TO_PARKING_MESSAGE STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) TAXI_TO_HANGAR ; ************************************************************* ; Air refueling sequence ; ************************************************************* ; this message is used by the refueling aircraft to request vector to tanker from the controller REQUEST_VECTOR_TO_TANKER_MESSAGE %FORMATION_WITH_POSITION PLANE_REQUEST_VECTOR_TO_TANKER ; this message is used by the flight controller to give the direction towards the tanker VECTOR_TO_TANKER_MESSAGE %FORMATION %FLIGHT_CONTROLLER_NAME STR_CONCAT(VECTOR_TO_TANKER ABS_DIRECTION_AS_DEGREES(%THIS %TANKER_ENTITY)) GET_ENTITY_DISTANCE(%TANKER_ENTITY) GET_ENTITY_HEIGHT(%TANKER_ENTITY) ; this is a request phrase submited by the plane wishing to refuel. REQUEST_TO_JOIN_TANKER_MESSAGE SHELL %FORMATION_WITH_POSITION STR_CONCAT(PLANE_VECTOR ABS_DIRECTION_AS_DEGREES(%TANKER_ENTITY %THIS)) STR_CONCAT(PLANE_ GET_ENTITY_DISTANCE(%TANKER_ENTITY)) STR_CONCAT(PLANE_RFL_ GET_ENTITY_HEIGHT(%THIS)) NOSES_COLD ; this is the reply sent when the REQUEST_TO_JOIN_TANKER_MESSAGE is not cleared NO_CLEARENCE_TO_TANKER_MESSAGE STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) MY_WINGS_ARE_FILLED_WITH_CHICKS NO_AVAILABLE_TANKER_MESSAGE NO_TANKER_AVAILABLE ; this is the reply sent when the REQUEST_TO_JOIN_TANKER_MESSAGE is cleared CLEAR_PRE_CONTACT_TANKER_MESSAGE STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) CLEAR_PRE_CONTACT CLEAR_CONTACT_TANKER_MESSAGE STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) CLEAR_CONTACT CLEAR_TO_JOIN_TANKER_MESSAGE STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) CLEAR_TO_JOIN_COPY_NOSES_COLD ; this message is invoked when the player needs to set the boomer. BOOMER_DIRECTION_MESSAGE %UP_DOWN_BOOMER ; this is the message to be played when connecting to the tanker. CONNECTED_TO_TANKER_MESSAGE CONNECTED_IM_SHOWING_FUEL_FLOW ; this message is sent when the tanker is ready to disconnect. CLEAR_DISCONNECT_TANKER_MESSAGE STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) SHOWING_YOURE_FULL ; ************************************************************* ; Wingman Commands ; ************************************************************* ; engage other target WINGMAN_ENGAGEANYTARGETIMNOT STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ENGAGE_THE_OTHER_ONE FORMATION_ENGAGEANYTARGETIMNOT STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ENGAGE_THE_OTHER_ONE ; engage my target WINGMAN_ENGAGEDESIGNATETARGET STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ENGAGE FORMATION_ENGAGEDESIGNATETARGET STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ENGAGE ; attck my target (ground) WINGMAN_ATTACK_MY_TARGET STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ATTACK FORMATION_ATTACK_MY_TARGET STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ATTACK ; engage my laser designated target WINGMAN_ENGAGE_LASER_TARGET STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) LASING_TARGET_ENGAGE FORMATION_ENGAGE_LASER_TARGET STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) LASING_TARGET_ENGAGE ; protect me ! WINGMAN_PROTECTME STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) GET_HIM_OFF_ME FORMATION_PROTECTME STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GET_HIM_OFF_ME ; lase my target WINGMAN_LASE_MY_TARGET STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) LASE_MY_TARGET FORMATION_LASE_MY_TARGET STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) LASE_MY_TARGET ; echelon FORMATION_ECHELON_GO STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_ECHELON ; trail FORMATION_TRAIL_GO STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_TRAIL ; wedge FORMATION_WEDGE_GO STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_WEDGE ; close formation FORMATION_CLOSE_GO STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) MOVE_CLOSER ; spread FORMATION_SPREAD_GO STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) SPREAD ; line FORMATION_LINE_GO STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_LINE ; hold WINGMAN_HOLD STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ORBIT FORMATION_HOLD STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ORBIT ; sort targets WINGMAN_SORT STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) SORT_TARGETS FORMATION_SORT STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) SORT_TARGETS ; bugout WINGMAN_BUGOUT STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) BUG_OUT FORMATION_BUGOUT STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) BUG_OUT ; drop tanks WINGMAN_TANKS STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) TANKS FORMATION_TANKS STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) TANKS ; status report WINGMAN_STATUS STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) WHAT_STATE FORMATION_STATUS STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) WHAT_STATE ; refuel WINGMAN_REFUEL STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) REFUEL FORMATION_REFUEL STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) REFUEL ; ************************************************************* ; Wingman Replies ; ************************************************************* ; negative reply WINGMAN_REPLY_NEGATIVE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) WINGMAN_NO_CAN_DO ; engaging target wingman response. ENGAGING_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ENGAGING ; atttac king (ground) ATTACKING_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ATTACKING ; sorting radar target. SORTED_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) SORTED ; pursuing an engaged target. PURSUING_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) RANDOM_VALUE(ENGAGING ROGER_PURSUING) ; a reply to the protect me message. DEFENDING_YOU_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) RANDOM_VALUE(ROGER_DEFENDING_YOU ROGER_ON_MY_WAY) ; reply to hold position STARTING_ORBIT_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) COPY_STARTING_ORBIT ; this message is played when the tanks are thrown. THROW_TANKS_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) PUNCHING_TANKS ; reply to bugout GOING_HOME_MESSAGE ROGER STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) GOING_HOME ; reply to the join message. JOIN_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) COPY_JOINING ; reply to echelon message FORMATION_ECHELON STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ECHELON ; reply to wedge message FORMATION_WEDGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) WEDGE ; reply to trail message FORMATION_TRAIL STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) TRAIL ; reply to refuel message WINGMAN_REPLY_REFUEL STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ROGER_REFUEL ; reply to designate message WINGMAN_DESIGNATING_NOW STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ROGER_DESIGNATING ; reply to line message WINGMAN_REPLY_LINE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) LINE ; refueling complete - joining WINGMAN_REFUEL_COMPLETE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) REFUEL_COMPLETE ; target destroyed - joining WINGMAN_TARGET_DESTROYED STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) TARGET_DESTROYED ; this message is used for generic wingman command replies. FORMATION_POS_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ; this message is played by a brain action to reflect the status of the plane load. STATUS_REPORT_MESSAGE STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) %RADAR_MISSILE_COUNT %HEAT_MISSILE_COUNT %FUEL_LOAD ; played by a brain that is engaged offensively ENGAGING_OFFENSIVE IF(INVOKE_PHRASE(IS_PLAYER_WINGMAN_IN_PHRASE %THIS) STR_CONCAT(TALLY_EXCITED_ %FORMATION_WITH_POSITION) ENGAGED_OFFENSIVE STR_CONCAT(ENGAGING_ %ENGAGED_TYPE)) ; played by a brain that is engaged defensively ENGAGING_DEFENSIVE IF(INVOKE_PHRASE(IS_PLAYER_WINGMAN_IN_PHRASE %THIS) STR_CONCAT(TALLY_EXCITED_ %FORMATION_WITH_POSITION) ENGAGED_DEFENSIVE STR_CONCAT(ENGAGING_ %ENGAGED_TYPE)) ; ************************************************************* ; These are inner phrases not called directly by the simulation ; The inner phrases are simply functions used by the regular ; phrases. ; ************************************************************* ; contact report is invoked when a controlled formation locks on an entity. CONTACT_REPORT_IN_PHRASE %FORMATION_WITH_POSITION STR_CONCAT(CONTACT ABS_DIRECTION_AS_DEGREES(%THIS %LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_DISTANCE(%LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_HEIGHT(%LOCKED_ON_ENTITY)) ; the spike message is invoked when a plane locks on a controlled formation. SPIKE_REPORT_IN_PHRASE GET_ENTITY_FORMATION_WITH_POS(%LOCKED_ON_ENTITY) IF(GROUND_TARGET MUD_SPIKE ELSE SPIKE) STR_CONCAT(DEGREE ABS_DIRECTION_AS_DEGREES(%LOCKED_ON_ENTITY %THIS)) ; this is a tally message reported by the wingman when a two seat plane spots an enemy. ;TALLY_TWO_SEATER_IN_PHRASE INVOKE_PHRASE(MIG_OR_BANDIT_IN_PHRASE %TALLY_ENTITY) STR_CONCAT(TALLY_EXCITED_ DIRECTION_AS_HOURS(%THIS %TALLY_ENTITY)) ; this is the tally message sent by another plane (it includes callsign etc...) ;TALLY_FROM_OTHER_PLANE_IN_PHRASE STR_CONCAT(EXCITED_ %FORMATION_WITH_POSITION) INVOKE_PHRASE(TALLY_TWO_SEATER_IN_PHRASE) ; this message is invoked by the weapon fire message when a controlled formation is being ; fired upon. FIRING_ON_ME_MESSAGE_IN_PHRASE IF(IS_TWO_SEATER(%LOCKED_ON_ENTITY) INVOKE_PHRASE(FIRING_ON_ME_TWO_SEATER_IN_PHRASE) ELSE INVOKE_PHRASE(FIRING_ON_ME_IN_PHRASE)) ; these messages get invoked appropriately by the firing on me phrase when the user gets fired on. FIRING_ON_ME_TWO_SEATER_IN_PHRASE %FIRE_TYPE STR_CONCAT(WC_ DIRECTION_AS_HOURS(%LOCKED_ON_ENTITY %THIS)) FIRING_ON_ME_IN_PHRASE STR_CONCAT(STR_CONCAT(WC_ GET_ENTITY_FORMATION(%LOCKED_ON_ENTITY)) !) %FIRE_TYPE STR_CONCAT(WC_ DIRECTION_AS_HOURS(%LOCKED_ON_ENTITY %THIS)) ; this is the fox fire message which is shouted by the pilot when ever a weapon is fired ; other than guns. FOX_IN_PHRASE %FORMATION_WITH_POSITION %FOX_FIRE_TYPE ; this in phrase returns mig or bandit as to which entity it has in it MIG_OR_BANDIT_IN_PHRASE STR_CONCAT(TALLY_ IF(IS(MIG) MIG ELSE BANDIT)) ; this phrase returns true for a controlled formation and false otherwise. IS_CONTROLABLE_IN_PHRASE IF(CONTROLLABLE_FORMATION TRUE ELSE FALSE) IS_PLAYER_WINGMAN_IN_PHRASE IF(CONTROLLED_FORMATION TRUE ELSE FALSE) ; The runway used for landing, according to the control tower CLEAR_TO_LAND_RUNWAY_IN_PHRASE STR_CONCAT(%TOWER_NAME _CLEAR_TO_LAND) LANDING_RUNWAY_IN_PHRASE STR_CONCAT(%TOWER_NAME _LANDING) SHOOTING_FRIENDLY_MESSGAGE %FRIENDLY_FIRE_TYPE ; ********************* ; All Out War messages ; ********************* AOW_RADAR_LOCK_MESSAGE IF(CONTROLLED_FORMATION INVOKE_PHRASE(AOW_CONTACT_REPORT_IN_PHRASE) ELSE INVOKE_PHRASE(AOW_SPIKE_REPORT_IN_PHRASE, %THIS) ) AOW_WEAPON_FIRE_MESSAGE IF(CONTROLLED_FORMATION %FOX_FIRE_TYPE ELSE INVOKE_PHRASE(AOW_FIRING_ON_ME_MESSAGE_IN_PHRASE %THIS)) AOW_SPLASH_MESSAGE STR_CONCAT(SPLASH_ %SPLASHED)) AOW_CONTACT_REPORT_IN_PHRASE STR_CONCAT(CONTACT ABS_DIRECTION_AS_DEGREES(%THIS %LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_DISTANCE(%LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_HEIGHT(%LOCKED_ON_ENTITY)) AOW_SPIKE_REPORT_IN_PHRASE IF(GROUND_TARGET MUD_SPIKE ELSE SPIKE) STR_CONCAT(DEGREE ABS_DIRECTION_AS_DEGREES(%LOCKED_ON_ENTITY %THIS)) AOW_FIRING_ON_ME_MESSAGE_IN_PHRASE %FIRE_TYPE STR_CONCAT(WC_ DIRECTION_AS_HOURS(%LOCKED_ON_ENTITY %THIS)) ; **************************** ; Special Multiplayer Messages ; **************************** SPMP_MISSILE_FIRE STR_CONCAT(STR_CONCAT(WC_ GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT)) !) BREAK_MISSILE! STR_CONCAT(WC_ DIRECTION_AS_HOURS(%CONTROLLED_AIRCRAFT %THIS)) SPMP_GUN_FIRE STR_CONCAT(STR_CONCAT(WC_ GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT)) !) JINK_GUNS! STR_CONCAT(WC_ DIRECTION_AS_HOURS(%CONTROLLED_AIRCRAFT %THIS))